home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-02
/
pas_all.zip
/
TI496.ASC
< prev
next >
Wrap
Text File
|
1992-08-12
|
4KB
|
265 lines
PRODUCT : Turbo Pascal NUMBER : 496
VERSION : 6.0
OS : Dos
DATE : August 12, 1992 PAGE : 1/4
TITLE : Turbo Vision, 132 Column Mode
program TV132;
{ this program shows how to put a Turbo Vision application in
132 column mode. it is written specifically for an ATI VGA
card but can be modified for other cards. also your mouse
drive must be able to support 132 columns. }
{$X+}
uses
objects, drivers, views, app, dialogs , menus, dos;
const
cm_DoIt = 100;
type
PMyApp = ^TMyApp;
TMyApp = object(TApplication)
procedure InitMenuBar; virtual;
procedure InitScreen; virtual;
procedure HandleEvent(var Event: TEvent); virtual;
procedure CMDoIt;
end;
PMyDialog = ^TMyDialog;
TMyDialog = object(TDialog)
procedure InitFrame; virtual;
procedure HandleEvent(var Event: TEvent); virtual;
end;
PMyFrame = ^TMyFrame;
TMyFrame = object(TFrame)
procedure Draw; virtual;
end;
PRODUCT : Turbo Pascal NUMBER : 496
VERSION : 6.0
OS : Dos
DATE : August 12, 1992 PAGE : 2/4
TITLE : Turbo Vision, 132 Column Mode
procedure TMyFrame.Draw;
begin
end;
procedure TMyDialog.InitFrame;
var
R: TRect;
begin
TDialog.InitFrame;
(*
R.Assign(0, 0, Size.X, Size.Y);
Frame := new(PMyFrame, init(R));
*)
end;
procedure TMyApp.CMDoIt;
var
D: PMyDialog;
ILine : PInputLine;
R: TRect;
begin
R.Assign(5, 5, 25, 12);
new(D, init(R, 'Do It'));
D^.SetState(sfShadow, false);
R.Assign(1, 1, 19, 2);
new(ILine, init(R, 20));
R.Assign(1, 3, 19, 4);
D^.Insert(Iline);
D^.Insert(new(PInputline, init(R, 20)));
R.Assign(1, 5, 11, 7);
D^.Insert(new(PButton, Init(R, '~O~k', cmOk, bfDefault)));
Iline^.Select;
Desktop^.ExecView(D);
end;
procedure TMyDialog.HandleEvent(var Event: TEvent);
begin
if Event.What = evKeyDown then
if Event.KeyCode = kbEnter then
Event.KeyCode := kbTab;
TDialog.HandleEvent(Event);
end;
PRODUCT : Turbo Pascal NUMBER : 496
VERSION : 6.0
OS : Dos
DATE : August 12, 1992 PAGE : 3/4
TITLE : Turbo Vision, 132 Column Mode
procedure TMyApp.InitMenuBar;
var R:TRect;
begin
GetExtent(R);
R.B.Y := R.A.Y + 1;
MenuBar := New(PMenuBar, Init(R, NewMenu(
NewItem('~D~o it', '', kbNoKey, cm_DoIt, hcNoContext,
nil)
)));
end;
procedure TMyApp.HandleEvent(var Event: TEvent);
begin
TApplication.HandleEvent(Event);
if Event.What = evCommand then
if Event.Command = cm_DoIt then
begin
CMDoIt;
end;
end;
procedure TMyApp.InitScreen;
{ this procedure is specific to an ATI VGA Card, you may need to
modify if you have a different video card. }
begin
TApplication.InitScreen;
asm
mov ah, 0
mov al, 23H
int 10H
end;
ScreenMode := $23;
ScreenHeight := 25;
ScreenWidth := 132;
end;
PRODUCT : Turbo Pascal NUMBER : 496
VERSION : 6.0
OS : Dos
DATE : August 12, 1992 PAGE : 4/4
TITLE : Turbo Vision, 132 Column Mode
var
MyApp: TMyApp;
begin
MyApp.Init;
MyApp.Run;
MyApp.Done;
end.
DISCLAIMER: You have the right to use this technical information
subject to the terms of the No-Nonsense License Statement that
you received with the Borland product to which this information
pertains.